package aceim.protocol.snuk182.xmppcrypto;
import aceim.api.dataentity.ProtocolOption;
import aceim.api.dataentity.ProtocolOption.ProtocolOptionType;
import aceim.api.dataentity.ProtocolServiceFeature;
import aceim.protocol.snuk182.xmpp.common.XMPPApiConstants;
import aceim.protocol.snuk182.xmpp.common.XMPPCommonProtocol;
import aceim.protocol.snuk182.xmppcrypto.utils.ResourceUtils;
public class XMPPProtocol extends XMPPCommonProtocol {
@Override
protected XMPPService createService(byte serviceId, String protocolUid) {
return new XMPPService(serviceId, protocolUid, getCallback(), getBaseContext());
}
@Override
protected ProtocolServiceFeature[] getProtocolFeatures() {
return ResourceUtils.getFeatures(getBaseContext());
}
@Override
protected ProtocolOption[] getProtocolOptions() {
return new ProtocolOption[]{
new ProtocolOption(ProtocolOptionType.STRING, ResourceUtils.KEY_JID, null, R.string.jid, true),
new ProtocolOption(ProtocolOptionType.PASSWORD, ResourceUtils.KEY_PASSWORD, null, R.string.password, true),
new ProtocolOption(ProtocolOptionType.STRING, ResourceUtils.KEY_SERVER_HOST, XMPPApiConstants.DEFAULT_HOST, R.string.server_host, true),
new ProtocolOption(ProtocolOptionType.INTEGER, ResourceUtils.KEY_SERVER_PORT, XMPPApiConstants.DEFAULT_PORT, R.string.server_port, true),
new ProtocolOption(ProtocolOptionType.CHECKBOX, ResourceUtils.KEY_SECURE_CONNECTION, "true", R.string.label_secure_connection, false),
new ProtocolOption(ProtocolOptionType.LIST, ResourceUtils.KEY_PROXY_TYPE, null, R.string.proxy_type, false, null, getBaseContext().getResources().getStringArray(R.array.xmpp_proxy_names)),
new ProtocolOption(ProtocolOptionType.STRING, ResourceUtils.KEY_PROXY_HOST, null, R.string.proxy_host, false),
new ProtocolOption(ProtocolOptionType.INTEGER, ResourceUtils.KEY_PROXY_PORT, null, R.string.proxy_port, false),
new ProtocolOption(ProtocolOptionType.STRING, ResourceUtils.KEY_PROXY_USERNAME, null, R.string.proxy_username, false),
new ProtocolOption(ProtocolOptionType.PASSWORD, ResourceUtils.KEY_PROXY_PASSWORD, null, R.string.proxy_password, false),
new ProtocolOption(ProtocolOptionType.FILE, ResourceUtils.KEY_PRIVATEKEY_FILE, null, R.string.pgp_key_file, false, null, "*.asc"),
new ProtocolOption(ProtocolOptionType.PASSWORD, ResourceUtils.KEY_PRIVATEKEY_PASSWORD, null, R.string.pgp_key_password, false),
new ProtocolOption(ProtocolOptionType.INTEGER, ResourceUtils.KEY_PING_TIMEOUT, "200", R.string.ping_timeout, false),
};
}
}